People can make good use of various home appliances such as refrigerators, TVs, washing machines, PCs, and audio equipments once such appliances are connected to a home network. For the purpose of such home networking, UPnP™ (hereinafter, it is referred to as UPnP for short) specifications have been proposed.
A network based on UPnP consists of a plurality of UPnP devices, services, and control points. A service on a UPnP network represents a smallest control unit on the network, which is modeled by state variables.
A CP (Control Point) on a UPnP network represents a control application equipped with functions for detecting and controlling other devices and/or services. A CP can be operated on an arbitrary device which is a physical device such as a PDA providing a user with a convenient interface.
As shown in FIG. 1A, an AV home network based on UPnP comprises a media server (MS) 120 providing a home network with media data, a media renderer (MR) 130 reproducing media data through the home network and an AV control point (CP) 110 controlling the media server 120 and media renderer 130. The media server 120 and media renderer 130 are devices controlled by the control point 110.
The media server 120 (to be precise, CDS 121 (Content Directory Service) inside the server 120) builds beforehand information about media files and containers (corresponding to directories) stored therein as respective object information. ‘Object’ is a terminology encompassing items carrying information about more than one media file and containers carrying information about directories; an object can be an item or container depending on a situation. And a single item may correspond to multiple media files. For example, multiple media files of the same content but with a different bit rate from each other are managed as a single item.
FIG. 1B illustrates a simplified signal flow among devices describing media playback process carried out on a network of FIG. 1A, which is described in the following. First, the control point (CP) 110 obtains information about a protocol which the media renderer (MR) 130 can accommodate (S01). The media server (MS) 120, in order to notify the control point 110 of information about a directory and media files under the directory, notifies of information about a current directory and item information about media files under the directory each time a UPnP action 141, e.g., a browsing action, occurs in response to the user's request (S10).
The CP 110 excludes information about an item not conforming to an acceptable protocol provided by the media renderer 130 from the received information about each object, thus displaying the information to the user through a relevant UI (S11-1). If the user selects an item (or a media file of a particular feature belonging to the item) through the UI (S11-2), the CP 110 invokes a connection preparation action (PrepareForConnection( )) on each of the media server 120 and media renderer 130 for presentation of the selected media file (from now on, it is referred to as ‘component’ or ‘media component’) and receives instance IDs about joined service elements (CM, AVT, RCS) required for presentation based on streaming between the two devices 120, 130 (S12-1, S12-2). The instance ID is used to specify and subsequently control, for each service element, a streaming service to be carried out now. The CP 110 delivers access location information (e.g., URL (Universal Resource Locator) information) about a previously selected component to AVTransport service 133 (in the example of FIG. 1A, AVTransport service is installed in a media renderer 130 but it can also be installed in a media server 120) along with previously-received instance ID of AVT through an action to set thereon (S13) and by invoking (S14) a playback action carrying the previously-received instance ID of AVT to AVTransport service 133, the CP 110 makes data of the component selected through a relevant information exchange process between the media renderer 130 and media server 120 streamed and displayed by RCS 131 (S15).
If it is the case that an additional media file is to be presented during the presentation (S15), the procedure described above (S11-2, S12-1, S12-2, S13, S14) should be repeated after the start of the presentation. According to circumstances, S10 and S11-1 can also be carried out.
The method of carrying out the above procedure sequentially against two or more media components, however, cannot be easily applied to the case where two or more media components should be reproduced in synchronization with each other (hereinafter, two or more media components associated with each other are called as ‘multiple components’), e.g., the case where one media component is a movie and the other one is subtitle data of the movie. It is because, if sequential reproduction were to be carried out, synchronized presentation at a media renderer could be hard to achieve or impossible due to time delay.